# Forms Management
Forms are a core component of the PMG platform. Forms can be used in rich interactive applications and dashboards. Additionally, Forms can act as “Services” within the Catalog module provided by the PMG Portal. When used within the catalog, “Services” contain additional information about services relevant to the business use. Users can access these services from search and through browsing categories. These services with forms can be submitted by users in an order process much like an online shopping experience.
# Form Designer
The Form Designer provides an intuitive drag-and-drop style design interface for administrative users to create and manage forms. The Form Designer is access from the Administration menu under “Content Management”, “Form Designer“.
Additional methods to access the Form Designer are available depending on usage. When managing a “Service Catalog”, Form Designer is accessed from the “Add New Item” link when browsing Service Catalog categories. When editing an existing service in the legacy Service Edit mode, services can optionally be managed by accessing the “Open in Form Designer” link provided.
When accessing Form Designer with no current form selected, the user is presented with a dialog to define a new form.
Provide a unique form ID, type selection and title for the form to create a new form. Valid types are “Base Form” or “Shared Form”. Base forms are intended to be the “main form” to run as standalone, or a “Shared Form” which is intended to be a reusable form fragment which can be loaded into other base forms or used for other purposes through the platform.
The toolbar provides links for the following:
View: Allows the user to save the form as currently defined and load a view window for the form.
Preview: Preview will open the current form definition into a new display window without saving the current form definition.
Deploy: Deploy saves the current form definition and makes this version the “live” or “active” form definition.
The toolbar provides a search input as well, which allows the user to filter down properties and values to the provided search string.
# Form Designer Menu bar
The menu bar includes various related activities for form management, including saving, renaming, deleting, or various deployment options. The Manage menu provides access to manage related options tied to forms.
Deploy, Deploy Log - provides an interface to view changes between versions of the form.
The Form Designer provides two tabs to switch between managing the form configuration and the form design. The Configuration tab allows for defining various properties for the form per below.
# Configuration
Show Back-End/Show Front-End toggle – This allows the administrator to quickly see the form fields displayed initially to the original form submitter as well as see all the subsequent fields shown by default to subsequent users of the form during the Form’s workflow.
Title: For Service Catalog usage, the Title field is a brief single line description of the Service, which serves as the display name or label shown in the Portal to end-users. This is a required field.
Description: For Service Catalog usage, the Description field allows for a more detailed explanation of the Service and can support simple HTML for formatting and/or hyperlinks, as needed. This is a required field.
Keywords: For Service Catalog usage, additional terms to use to match the item in search.
Notes: The Notes field allows for information about the service for the current or future form developers. The notes are only visible in edit mode, and do not impact search results.
Form Type: For Service Catalog usage, this defines the type of Service as either Standard, On Demand, or Cost Component. Typically, services are Standard, meaning that they can be viewed and requested by end-users. On Demand Services are intended to provide static information only and cannot be ordered by end-users. Cost Component indicates that the form is to be defined for its cost properties only, typically for bundling with other forms. This is a required field.
External URL: For Service Catalog usage, this field allows the administrator to designate an external URL to be displayed within an iframe on the current Service screen should the Service in form Element exist outside of the Platform. Optional parameters may be entered in the Options text box to format the way the external web page is presented to the end-user. This property applies exclusively to the On Demand setting for Service Type in the previously described field.
Item Image: The Item Image field allows the administrator to specify an image that will display for the item in the Portal. The image can be defined for the Service as either a URL location or an image file, which is uploaded to the PMGSC database.
Display Priority: For Service Catalog usage, the Display Priority field assigns a priority level for the Service so that items which end-users are most likely to select will display at the beginning of browse results. A setting of High indicates that the item will display first in a result set of multiple items; Medium items will display next; and then lastly items set as Low will display. Items with the same Display Priority will be sorted alphabetically.
Price Rules: For Service Catalog usage, Each Service may have costs and prices set for any configured Price Rule. See Section 7.2 - Price Rules under Price Management for more detailed information on configuring Price Rules. Within a specific Service, each Price Rule has the following properties:
Is Fallback?: Determines which price will be shown should no Pricing Rule match the user viewing the Service
Pricing Rule: Valid Pricing Rule as defined within the Platform. Pricing Rules are defined on the Price Rules screen accessible under System Management via the main navigation path for ADMINISTRATION.
Base Cost: One-time cost as a number in the currency for the respective Pricing Rule
Ongoing Cost: Recurring cost as a number in the currency for the respective Pricing Rule
Base Price: One-time price as a number in the currency for the respective Pricing Rule
Ongoing Price: Recurring price as a number in the currency for the respective Pricing Rule
To add costs and prices for an additional Price Rule to the Service, click on Add Rule.
Pricing Display: For Service Catalog usage, determines whether the item pricing will be shown to the end-user by selecting either Hide Price or Show Price
Charge Type: For Service Catalog usage, indicates to the end-user how procurement of the item will be charged or whether it will be charged. One of the following options may be selected:
No Charge: No costs will be tracked or expensed directly to the requesting user or some respective department
Notational Charge: Charges associated with the delivery of the Service will be recorded and reported, but not necessarily billed to the respective department
Chargeback: Costs for delivering the Service will be charged back to the requesting user or respective department as appropriate
Ongoing Recurrence Period: For Service Catalog usage, text to be displayed to indicate the time window for recurring costs, if applicable
Quantity Updatable: For Service Catalog usage, specifies whether the end-user can procure more than one of the configured Service at once. The Quantity Updatable field should only be checked for items that can be purchased as exact duplicates.
SLA: For Service Catalog usage, this setting allows the user to associate one or more SLAs with the Service. If multiple SLAs might apply to the Service dependent upon certain factors such as the delivery terms requested, more than one SLA can be associated with the Service. Previously defined SLAs may be selected from the list provided, or a new SLA can be created on the Manage SLAs page by clicking on the SLA Management link. SLA Management for more information on managing SLAs for Services within the Platform.
Shared forms are attached to standard forms with the Form Field Type, “Shared Form”.
Shared forms may also be attached to work items during workflow execution with the human action property, “Shared Form”. Please see Human Activities for more information.
Categories: For Service Catalog usage, this field allows the user to select with which Categories and/or Subcategories the Service will be associated. Multiple Categories and/or Subcategories can be selected. See Section 3.1 - Category Management for more information about Categories.
Related Forms: For Service Catalog usage, the Related Forms field is one method used to bundle Forms that are often or always ordered together. Bundling facilitates the process of generating multiple requests that are related to a single business process or transaction. In the Related Forms field, the user assigns a Form to other Forms in the Platform and sets their relationship to Optional or Required. See Bundled Services for more information about Related Forms. This method statically defines the relationship of services to others. To dynamically relate services, leverage the additional form features available.
Permission: Form level permissions allow for more specific configuration of access permissions for individual Forms or Services. The Permission field is used to give access to a group for the new Service by selecting from a list of domains that have been defined for the Platform. Once a domain has been selected, the user can search for a group name, highlight the desired group(s) from the search results, and then click the Add-> button to add them to the set of users who can access this Service. The Add--> button immediately below that can be used to add all groups in the search results box to the Service.
The result of Service level permissions is that individual end-users may see different Services within a given Category based on that user’s group memberships. A typical configuration would include broad permissions set at the Category level for largely inclusive groups (for example, all domain users permitted to access a Category for software) and more specific permissions configured for individual Services within that Category (for example, only software available to a specific business unit to be accessible by that division).
Managers: The Managers field enables the administrator to select additional users and grant them management rights for the Service. Users designated as Managers will be able to see information regarding all requests submitted for this Service in Request History as well as in reports relating to this Service. To grant rights to edit the Service, the Can Edit checkbox should be checked when adding Managers rights for a user. Multiple users may be designated as Managers, and individual usernames can be added or deleted in this field.
Workflow: The Workflow field is used to assign an existing Workflow to the Service. The user can select from a drop-down list of defined Workflows. A checkbox is provided to auto-start any Child Workflow processes associated with the selected Parent Workflow. To create a new Workflow or open an existing one, the user can click on the Workflow Designer link to open the Workflow Designer screen.
Review Workflow: For Service Catalog items, the Review Workflow field is used to assign a special processing Workflow which routes a request without processing it as a committed order. The system setting, “ENABLE_REVIEW_WORKFLOW” must be True for this option to display.
Bundle Only: For Service Catalog mode, if checked, the Service may be ordered only as part of a Request for another Service with which it has been bundled. Accordingly, it cannot be the Parent of such a Request. See Section 0 - Bundled Services for more information.
Featured Item: For Service Catalog mode, marking the Featured Item checkbox will promote the Service so that it displays on the Portal home page for end-users with appropriate access rights. The Priority box can be used to set the display order among all designated Featured Items.
Request Type: For Service Catalog usage, the Request Type field indicates whether the Form can be ordered via the Shopping Cart or instantly upon submission of the Request Form.
# Form
When editing a form layout from the “Form” tab, the user is presented with a design screen with a palette of “Elements” on the left, a canvas in the middle to control the form layout, and a property panel on the right to set properties for selected form elements.
To add form elements to the form layout, drag any element from the palette on the left into a target location in the middle of the “Form” layout. Once form elements are in the Form layout they can be re-arranged by drag-and drop. Multiple elements can be dragged together by using CTRL-left click to select multiple form elements.
To view the properties panel for any form element, select the form element and the properties panel will display on the right side.
# Form Elements
The PMG application provides a range of form controls and control options, from basic to highly advanced in regards to features and configurability. While the simplest form controls are easy to configure and basic in appearance, they still provide advanced features for display, configuration, and behaviors.
See further below for common “Advanced options” for form elements in addition to the specific options listed for each type.
# JavaScript as a Data Source for Form Fields
Various form field types provide support for JavaScript as a data source. JavaScript can be used to return primitives as values for the form elements. Supported structures are a primitive, 1D array, or 2D array as below:
return 'Hi'
return ['Hi','There','Friend']
return [
[1,'One'],
[2,'Two']
];
The following Form Element Types are available:
# Active Directory Lookup
Enables Forms to query information from Active Directory domains. Automatic population of data for the current user is supported, or the end-user can select single or multiple objects from the dynamically generated list. If system setting AD_LOOKUP_USE_DISPLAY_NAMES enabled, Active Directory lookup default display names will be pulled from Administration, System Management, Active Directory, Attributes screen.
Configuration Import/Export
Show Config XML
Click this link to view an XML representation of the current configuration state of the Active Directory Lookup (“AD Lookup”). Click the Refresh Config XML button to rebuild the XML after any configuration changes have been made. The XML may also be copied here to import it to other AD Lookup instances.
Import Config XML
To import the configuration settings from another instance of AD Lookup, paste the configuration XML from the other AD Lookup into the text box and click Save Config XML.
Search Inclusion/Exclusion Options
Certain AD and OU groups can be included or excluded in searches utilizing these fields. Note that the target domain controller must be running Windows 2003 Server SP2 or later.
Show/Hide AD Domain Inclusion
Clicking on this option will expand to options which allow the user to define which AD domains can be included in searches. This overrides the default of including all registered and enabled domains. If any domains in the system are disabled, an option to include disabled domains in the search is available.
Show/Hide AD Group Inclusion/Exclusions
Clicking on this option will expand to show two options which allow the user to define which AD groups can and cannot be included in searches under the “Included AD Groups” and “Excluded AD Groups” sections, respectively. Certain built-in AD security groups cannot be used in these lists (e.g. Users, Domain Users, and Domain Admins).
To add a group to either list, enter search criteria in the “Group name starts with” box and click “Search”. Results will populate in the box below. To add a group to the list, double-click on it, and the group will be added to the list on the right side. Groups may be removed by clicking the red ‘X’ next to the name.
Show/Hide OU Inclusions/Exclusions
Clicking on this option will expand to show two options which allow the user to define which OU (organizational units) can and cannot be included in searches under the “Included AD OUs” and “Excluded AD OUs” sections, respectively.
To add a group to either list, enter search criteria in the “Group name starts with” box and click “Search”. Results will populate in the box below. To add a group to the list, double-click on it, and the group will be added to the list on the right side. Groups may be removed by clicking the red ‘X’ next to the name.
AD Lookup – Limit search by OU
Allows the search to be limited to users within the current user’s OU plus any additional OUs included.
Query Options
AD Query Type
This option defines what type of AD entity to search for. Options include:
Current User (self)
Search AD Users
Self or Other (user’s choice)
Linked to another AD Lookup
Search AD Groups
Search AD Org Units
Search AD Computers
Show search box in Linked mode
If the AD Query type is set to “Linked to another Form Element”, this option allows you to show or hide the search box. The source form element must be a 'distinguishedName' property to be used as a link source.
Form Element SPE Mapping Name
If the AD Query type is set to “Linked to other Form Element”, this option allows you to choose the Form Element containing a desired trigger. The source form element must be a 'distinguishedName' property to be used as a link source.
ID of triggering field on Form Element
If the AD Query type is set to “Linked to other Form Element”, this option allows you to define the control on a Form Element that will be a trigger. The source form element must be a 'distinguishedName' property to be used as a link source.
AD Lookup Mode
Select “Single AD Entity Lookup” if only one entity may be selected. Otherwise, select “Multiple AD Entity Lookup” to select more than one entity.
Select “self” by default
If the AD query type of “Self or Other (user’s choice)” is selected, the user currently logged in will be selected by default.
Restrict search to current user's domain
Limits the search to users within the current user’s domain.
Note – Hide the domain select list for the search as it will not function.
User-selectable matching
If selected, a search type option will become available beside the search box. Users will be able to specify conditions for the search. For example, if the user intends to search for all users with first name “John”, they can specify “start with” as the search condition.
Conditions include:
Starts with
Equals
Contains
Ends with
Custom WHERE clause (using LDAP syntax)
Enables customization of the search query by entering a valid LDAP query
Label for User-Selection of Self/Current User
Used to specify the label shown when the user currently logged in is selected
Label for User-Selection of Other User
Used to specify the label shown when a user other than the person logged in is selected
Require text input for search
If selected, users must enter text in the search box to search.
Suppress domain select list
Selecting this option hides the ability to choose a domain for the search.
Exclude current user (self) from searches
Select this option to hide the current user from search results
Include users with status
Use this option to include/exclude users of status enabled or disabled.
AD Record Field Configuration
AD Fields to Use
This option controls the Active Directory Fields to add to the lookup. Enter all fields in a comma separated list and click “Update Form” to add the fields.
Default values: displayName, givenName, sn, title, userPrincipalName, sAMAccountName, distinguishedName, description, department, mail, telephoneNumber, manager
Setting | Usage |
---|---|
Field Name | Displays the Field Name defined in AD Fields to Use. |
Field Label | Use this option to modify the label displayed for the field |
Visible | Select this option to make the field visible. |
Hidden | This option hides the field label from the user. |
Read-Only | Choosing this option makes the field un-editable by the user |
Req. | Choose the option to make the field required |
Up Arrow | Moves the field up (as rendered to the user) |
Down Arrow | Moves the field down (as rendered to the user) |
Show Active Directory Groups?
If this option is checked, users gain the ability to narrow searches to selected AD Groups.
Render AD Groups as
If “Show Active Directory Groups?” is checked, this option controls how the groups are shown to the user.
Options include:
Drop-down list (single select)
Drop-down list (multi-select)
Radio buttons
Checkboxes
Read-only list
AD Field to use for group list display
If “Show Active Directory Groups?” is checked, this option controls the AD field that is queried against.
AD Field to use for group list value
If “Show Active Directory Groups?” is checked, this option controls what AD field is shown to the user.
Display Options
Run in debug mode
If this option is checked, a text area and several links will appear in the AD Lookup view mode. This text area will display relevant debugging output - e.g. XML formatted data, errors in parsing formulas.
Enable “Clear” button
If selected, a button will appear that allows the user to clear search results.
Width of text boxes (pixels)
Use this option to set the width of text boxes in pixels.
Max items selectable
In bulk lookup mode, use this option to limit the number of results chosen at a time. Leave blank for no limit.
Max items selectable label
If the max items selectable field is set, this allows for a custom message to be displayed when the max is exceeded. Leave blank for no message.
Hide “Add All” button
Checking this option hides the “Add All” button when AD Lookup Mode is “Multiple AD Entity Lookup”.
Max records
This controls the maximum number of results a search will return. Leave blank for no limit.
Rows in search results box
This controls the height of the search results box by the number of rows displayed.
AD Field to use as list values
This option controls the AD field that is queried against. If the AD Lookup Mode is “Single AD Entity Lookup”, then Distinguished Name must be used.
AD Field to use as list display
This option controls the AD field that is shown in the search results box. Selections include:
Display Name
Name
UPN/Login
Email Address
Distinguished Name
SAM Account Name
Align field labels
This option allows for modification of field label alignment to either be left justified, or right justified
Read-Only field color
Enter a color value to alter the background fill color of all read-only fields (i.e., #000000 or RGB(0,0,0) for black)
# of Columns to render
Select the number of columns to render the visible fields. Up to 3 columns may be shown.
Only include visible fields in HTML output
If checked, only visible fields will be passed through the request XML; otherwise, hidden fields will be passed through as well.
# Agreement
A single box field that may be check marked by the end-user to indicate agreement to something related to a Request.
# Checkbox
A single checkbox field. This field may be used to control visibility of other form fields. To configure this field to control visibility of other fields, provide a single default value for the control in its “Default Value” property, e.g. “Show”. Then, open the advanced properties for the field, and use the “Question Relation” section to control which fields will be shown when this box is checked. Select the default value for the “Response” selection list, and then select which fields will be shown when the box is checked. Those fields will also then be hidden if the checkbox is not checked.
# Checkbox List
A field with multiple boxes allowing the end-user to check more than one entry.
# Database Lookup
Enables Forms to query user information from any databases with user data (e.g. an HR system). The end-user can select single or multiple users from the dynamically generated list.
Configuration Import/Export
Show Config XML
Click this link to view an XML representation of the current configuration state of the Database Lookup. Click the Refresh Config XML button to rebuild the XML after any configuration changes have been made. The XML may also be copied here in order to import it to other Database Lookup instances.
Import Config XML
To import the configuration settings from another instance of Database Lookup, paste the configuration XML from the other Database Lookup into the text box and click Save Config XML.
Run in debug mode
If this option is checked, a text area and several links will appear in the Database Lookup view mode. This text area will display relevant debugging output - e.g. XML formatted data, errors in parsing formulas.
User Search Options
Search Type
This defines the type of query that will be utilized. Options include:
Current User
Search for a User
User Selectable (self or single-user search)
Search for multiple users
Session Value for current user lookup
This option defines what value to use to search for the current user. It is only available if the search type is “Current User”. Options include:
User ID
SAM Account Name (jsmith)
User Principal Name (jsmith@domain)
NT-style logon (DOMAIN\jsmith)
Email Address
Distinguished Name (CN=Joe Smith, DC=domain)
PMG User GUID (32-digit number)
Select data sources to search
Define which data source(s) to query. Up to two may be added. Options include:
Both
Data Source 1
Data Source 2
User Selects – the user is given the option of which data source to query
Require text input for search
If checked, text must be entered in the search box before searching
Rows in search results box
This controls the height of the search results box by the number of rows displayed.
Max records to return
This controls the maximum number of results a search will return. Leave blank for no limit.
Labels for User-Selected Radio Buttons
If “Select data sources to search” is set to “User Selects”, the text on the button labels can be modified for each option below.
Label for User-Selection of Self
Label for User-Selection of Data Source 1
Label for User-Selection of Data Source 2
Label for User-Selection of Data Sources 1 & 2 Combined
Setup Current User Search
Current User Data Source
If the search type is set to “Current User”, select an External Data Source from which the current user’s data will be queried from.
Current User Detail Query
Enter a custom query to define what fields are returned for the current user. Only applies when the search type is “Current User”.
Data Source Configuration (1 and 2)
Data Source
Select an External Data Source from which the user data will be obtained from
Search Query
Enter a custom query to define what fields are queried against and displayed in the search results box.
Detail Query – single user search only
Enter a custom query to define what fields are returned when a selection is made in the search results box.
Render Options
Use 100% of form horizontal space
If checked, the Database Lookup will use 100% of the horizontal space in the form, even making use of the left-hand space where Form Element labels normally appear.
Show Form Element label above Form Element
If checked and “Use 100% of form width” is also checked, the Form Element label will appear above the Database Lookup on the left-hand side.
#of Columns to render
Select the number of columns to render the visible fields. Up to 3 columns may be shown.
Align field labels
This option allows for modification of field label alignment to either be left justified, or right justified
Read-Only field color
Enter a color value to alter the background fill color of all read-only fields (i.e., #000000 or RGB(0,0,0) for black)
Only include visible fields in HTML output
If checked, only visible fields will be passed through the request XML; otherwise, hidden fields will be passed through as well.
Search results width (px)
This option allows for adjustment of the search results box by increasing or decreasing the width in pixels.
Record Detail Field Width (px)
This option allows for adjustment all detail fields by increasing or decreasing the width in pixels.
Hide “Add All” button
If the search type is “Search for Multiple Users”, selection of this option hides the ability to add more than one user at once.
Detail Record Fields to Render in Service Form
This option controls the fields to add to the lookup. Enter all fields in a comma separated list and click “Update Form” to add the fields.
Setting | Usage |
---|---|
Field Name | Displays the Field Name defined in AD Fields to Use. |
Field Label | Use this option to modify the label displayed for the field |
Visible | Select this option to make the field visible. |
Hidden | This option hides the field label from the user. |
Read-Only | Choosing this option makes the field un-editable by the user |
Up Arrow | Moves the field up (as rendered to the user) |
Down Arrow | Moves the field down (as rendered to the user) |
# Date
A calendar type control used for selecting a date, allowing the same format to always be used.
Advanced options for Date include:
Minimum Number of Days in Future: A number determining how many days out the day must be
Maximum Number of Days in Future: The furthest out in days a date may be
Weekdays Only: Restricts the date entered to weekdays only
Restrict Free Text: Disallows free form date entry for the field
# DataWorkflow
Provides the ability to run a data workflow on button click, collect data from external fields to pass to the data workflow, and trigger external fields after the data workflow runs.
# General Configuration
Show Config XML
Click this link to view an XML representation of the current configuration state of the DataWorkflow. Click the Refresh Config XML button to rebuild the XML after any configuration changes have been made. The XML may also be copied here to import it to other DataWorkflow instances.
Import Config XML
To import the configuration settings from another instance of DataWorkflow, paste the configuration XML from the other DataWorkflow into the text box and click Save Config XML.
Run in debug mode
If this option is checked, a text area and several links will appear in the DataWorkflow View Mode. This text area will display relevant debugging output - e.g. XML formatted data.
Use 100% of form width
If checked, the DataWorkflow will use 100% of the horizontal space in the form, even taking the space of the Form Element label (if it is not displayed above the Form Element)
Reset All Triggers on Button Click
If checked, the DataWorkflow will clear all of the registered trigger form elements. The option works in conjunction with the "Clear Input Source" configuration option.
Hide Question Label
If checked, the DataWorkflow's question label will be hidden.
Prevent Search Button Click while Running WF
If checked, the Start Workflow button will be disabled while the data workflow is running.
Clear Inputs Source
This configuration option will allow the form designer to choose which clear button to use: the Search Button or the Clear Button. This option works in conjunction with "Reset All Triggers on Button Click."
Property Path Type
This option defines the JSON path type used in the property path configuration. Use the dot path option to select a JSON property value by using a series of property names and dots. For example to get the value of the phone number in this JSON object, use user.info.phone
{ "user": { "info": { "phone": "555-5555" } } }
Another property path type is JSON Path. This is similar to XPath for XML. The JSON Path for the above example is $.user.info.phone
The last property path type is "columns." If this is selected the data must be returned via an output table in the data workflow. The value for the path is a comma separated list of which properties to return.
For example, if this JSON was returned via a table output:
[ { "Data": "No", "Number": "1" }, { "Data": "Yes", "Number": "2" } ]
And the property path was "Data", the result would be:
[ { "Data": "No" }, { "Data": "Yes" } ]
# Register Triggering Form Elements
Fields from other Form Elements may be registered as triggers to be used as input values for data workflow variables.
Form Element SPE Mapping Name
Choose the Form Element that the desired trigger is contained in.
ID of triggering field on Form Element
Choose the specific Form Element control that has the desired value from the drop down list.
Register Form Element trigger field as…
This is a user-defined name for the trigger. Click Register Trigger to create the new trigger.
Note that triggers may be deleted by clicking the red ‘X’ next to them.
# Trigger Configuration
This section allows the form designer to choose if the trigger form element needs to have a value before the data workflow is run. Select "required" to require that the form element have a value.
# Workflow Configuration
This section contains the configuration of the data workflow and its run mode. In addition to these options, this section contains any workflow variables. Triggers can be mapped to these variables using this syntax:
[TriggerName]
To use a static value, just enter the static value in the variable's corresponding textbox.
Sync Workflow
The data workflow which will run on button click.
Workflow Run Mode
The mode which to run the data workflow.
# Property Configuration
Use this configuration section to add new properties. These properties (fields) can be used to display the data workflow results or can be used solely as registered external triggers to other form elements.
Use the "Path" textbox on each property to enter a JSON Path, dot path, or collection of columns (depending upon which path type was selected).
Leave the "Path" textbox blank and check "Full Response" to have the property value be the full result of the data workflow. This option, as well as the columns path type option, are useful when used in conjunction with a DynaForm.
# DynaForm
Provides the ability to create a data-driven set of linkable fields of certain mixed Form Element Types.
# General Configuration
Show Config XML
Click this link to view an XML representation of the current configuration state of the DynaForm. Click the Refresh Config XML button to rebuild the XML after any configuration changes have been made. The XML may also be copied here to import it to other DynaForm instances.
Import Config XML
To import the configuration settings from another instance of DynaForm, paste the configuration XML from the other DynaForm into the text box and click Save Config XML.
Run in debug mode
If this option is checked, a text area and several links will appear in the DynaForm’s View Mode. This text area will display relevant debugging output - e.g. XML formatted data, errors in parsing formulas.
Load dependent controls only if this Form Element is visible
If this value is checked, the DynaForm will not load if it cannot be seen on the form. For example, if a DynaForm contained in a closed section header, it will not load.
Use 100% of form width
If checked, the DynaForm will use 100% of the horizontal space in the form, even taking the space of the Form Element label (if it is not displayed above the Form Element)
Show Form Element label above Form Element
Choosing this option displays the DynaForm Form Element label above the Form Element, rather than to the left
# Register Triggering Form Elements
Fields from other Form Elements may be registered as triggers to be used as parameter values for queries.
Form Element SPE Mapping Name
Choose the Form Element that the desired trigger is contained in.
ID of triggering field on Form Element
Choose the specific Form Element control that has the desired value from the drop down list.
Register Form Element trigger field as…
This is a user-defined name for the trigger. Click Register Trigger to create the new trigger.
Note that triggers may be deleted by clicking the red ‘X’ next to them.
# Configure Dynamic Form Fields
Default Data Source
This option defines a default registered data source from the dropdown list. The options are listed from External Datasources. The default data source can be overridden in individual controls.
Maximum Item Width
Use this option to set the maximum width of the DynaForm control.
Add Form Item
This option adds a control to the DynaForm.
Control Types
The DynaForm provides the following control types.
Select list
A drop down list of choices where the user may select one or more choices (depending on configuration)
Select list – Type Ahead
The DynaForm Type Ahead Select List (DTASL) control is similar to enabling “TypeAhead” on the standard select list question.
Data Load Options:
Like the standard select list with TypeAhead enabled, the DynaForm control has different data load options available. The first option is server data load, which is the default loading method for the DTASL. No configuration is required for this type of loading. The server data load type immediately runs the supplied query as the form is loading, pulling back all the data that the original query finds without any filtering. Any text entered into the select list by the user is used to filter the results without making any additional queries, making it easier to find selections in a large select list.
The second data loading option is called “Dynamic Query.” This option is similar to the standard select list’s “Client” data load option. No query is performed until the user enters the minimum number of characters required for the search. This input filters the number of results pulled back from the query. Additional queries are made in this case as the user is entering text. To configure the DTASL to use the Dynamic Query data load, check the Dynamic Query checkbox in the configuration panel as shown below.
Query:
The query used for the DTASL in dynamic query mode needs to have one occurrence of the __FILTER_TEXT__ marker, which is replaced by the user’s input.
Dynamic Query Examples:
SELECT DISTINCT(State) FROM Location WHERE State LIKE '%__FILTER_TEXT__%'
SELECT DISTINCT(State) FROM Location WHERE State LIKE '__FILTER_TEXT__%'
SELECT DISTINCT(State) FROM Location WHERE State LIKE '__FILTER_TEXT__'
SELECT DISTINCT(State) FROM Location WHERE State LIKE '%__FILTER_TEXT__'
SELECT DISTINCT(State) FROM Location WHERE State LIKE '%__FILTER_TEXT___'
Static:
The DTASL supports static queries when it is not in dynamic query mode.
Min Characters for Search:
The advanced configuration control panel for the DTASL has a “Min Characters for Search” input text field. When the control is in dynamic query mode, the control will not perform a query until this number of characters is entered by the user. If left blank, the default number is 1 character. This field is ignored when the control is not in dynamic query mode.
Placeholder Text:
The placeholder text input on the advanced configuration control panel is the text that will be displayed in the DTASL when no value has been chosen by the user. The default value is “Search.” If the DTASL is in dynamic query mode, this text will display automatically. If the DTASL is not in dynamic query mode, the placeholder text will only display if the “Add blank option” checkbox has been checked.
Triggering:
Other DynaForm controls can be triggered from a DTASL just like other DynaForm control types. The DTASL, however, shouldn’t be triggered from other controls currently.
Checkboxes
Small squares that allow users to select multiple values
Record List
Displays data in a read only list format
Record Table
Similar to Record List, this control displays data in an un-editable table format
Text Box
This field type is used to capture brief single lines of alphanumeric text from the end user
Text Area
This field type allows multiple lines of text to be entered by the end user.
Text Box Group
Displays a group of text boxes, organized in a single column
Instructional Text
A “read-only” display text control for displaying information to the end-user
Date
An interactive date field. Dates support “black-out” dates via the option, “Query to Disallow Dates”. To disallow certain dates, use the Query to return a list of dates which are not valid for selection. For example, a simple query might return fixed dates as below. The date format should be YYYYMMDD.
select '20220522'
union all
select '20220704'
or, something more dynamic, "10,000 Mondays"
SET DATEFIRST 1
DECLARE @d as datetime = '1900/01/01'
SELECT TOP 10000 DATEADD(DAY,Number, @d) as Date
FROM Numbers WHERE datepart (weekday,DATEADD(DAY,Number, @d)) = 1
# Controls - Common Properties
All of the form controls for DynaForm support the following properties.
Label
A text label for the control
XML Name
This is the name of the column as it will appear in the request XML for the submitted workflow. Each control must have a distinct name for the instance of the DynaForm.
Tooltip text
Optional tooltip text to be displayed for the control
Query/Values
Defines the values for the control, which may be defined as any of the following: Fixed values - with each value per line, SQL query, or JavaScript code.
Link to Item(s)
Use Form Element triggers or DynaForm rows as query parameters. For Form Element triggers, enter the trigger in this format: [Trigger Name]. Enter the number(s) of other controls in the order they appear in the “Query/Values” of the DynaForm item. Separate multiple triggers by commas.
Data Source
This setting sets the data source for the control and overrides the default data source. If left blank, the default data source will be used.
# Controls – Additional Properties
The various control types above will have one or more of the properties below as applicable to the control type.
Required
This will make the control required on the form.
Read-Only
This will render the control read-only and un-editable to the user.
Password
Values entered into the control will be obscured in the display, i.e. “****” for a password field. These values are also obscured from display within request history details.
Encrypt
Values entered into this field will be encrypted when submitted to workflow. The encrypted values can be decrypted as needed with the “Decrypt String” workflow action. These values are also obscured from display within request history details.
NOTE – The full DynaForm must also be required as the encryption is done in the validation method.
Cannot submit blank
The field must have a value when submitted, and cannot remain blank or empty.
Enforce query params
This option will prevent the control from loading if a linked item is blank.
Filter
If checked, the dropdown list requires input from the user to populate the list. The list’s SQL query must have at least one occurrence of _FILTER_TEXT_, which will be replaced with the user’s filter input before the query is executed.
Example:
SELECT UserId, Name FROM Users WHERE Name LIKE ‘_FILTER_TEXT_%’ AND ‘_FILTER_TEXT_’<>’
Note that filters cannot be used with static lists.
Static
Selecting this option indicates that the values in the ‘Query/Values’ section are static and will not change. Enter each value on a separate line.
Example:
Georgia
Florida
South Carolina
Tennessee
Multi
This option allows multiple values to be chosen.
Hidden
Choose this to hide the field from the user.
Cost Mod
If the values in a control affect the price of the item, indicate whether it affects the one-time cost or recurring cost by selecting the corresponding value.
Wrap
For the respective field types, this setting will force the text to wrap if it extends past the container of the form.
An example is below.
Note – Although the wrap text feature will force the text of checkboxes and radio buttons to wrap, another control can force the scroll bar to appear. In this case, the text will start to wrap at a width less than or equal to the longest control.
# Control-Specific Configuration Settings
Setting | Relevant Control(s) | Usage |
---|---|---|
Size | Select List | Sets the maximum number of records for the list? |
Enable Paging | All | When selected, an option is added to the control to allow the user to page through the control. This is useful if a large number of values are expected for a control. |
Page Size | All | If paging is enabled, this sets the maximum number of values displayed per page |
# of columns | Checkboxes | Takes a numeric value for the number of columns of checkboxes to render. If the field is left blank, checkboxes will render in one column |
List height (px) | Record List | Sets the maximum height of the control, in pixels |
Table height (px) | Record Table | Sets the maximum height of the control, in pixels |
Text box width (px) | Text box | |
Text box group | Sets the maximum width of the control, in pixels | |
Textarea width, height (px) | Textarea | Sets the maximum width and height of the control, in pixels. Values are comma-separated. |
Text field height (px) | Instructional Text | Sets the maximum height of the control, in pixels |
Up Arrow | All Controls | Move the row forward in the row order |
Down Arrow | All Controls | Move the row back in the row order |
Delete Icon | All Controls | Delete the row |
# Auto-refresh
This option is available for control types: Select List, Select List w/ Type Ahead, and Text Box when Read-Only is checked. When a form is submitted, and then loaded later by a user within a work item, the Auto Refresh option will force the query to run and validate that the previous saved answer is still valid, and present other possible choices based on real-time call to the data source.
# DynaGrid
Provides a tabular control layout with spreadsheet-like functionality. The ability for end-users to add and delete rows as desired is supported.
# Configuration Import/Export
Show Config XML
Click this link to view an XML representation of the current configuration state of the DynaGrid. Click the Refresh Config XML button to rebuild the XML after any configuration changes have been made. The XML may also be copied here in order to import it to other DynaGrid instances.
Import Config XML
To import the configuration settings from another instance of DynaGrid, paste the configuration XML from the other DynaGrid into the text box and click Save Config XML.
# Register Triggering Form Elements
Fields from other Form Elements may be registered as triggers to be used as values for queries. If using a trigger in a query, it must be enclosed in brackets [TriggerName]. Note that triggers may be deleted by clicking the red ‘X’ next to them.
Form Element SPE Mapping Name
Choose the Form Element that the desired trigger is contained in.
ID of triggering field on Form Element
Choose the specific Form Element control that has the desired value from the drop down list.
Register Form Element trigger field as…
This is a user-defined name for the trigger. Click Register Trigger to create the new trigger.
Do not trigger preload if one or more parameters are empty
Checking this option will prevent the loading of the preload query if a trigger value is missing.
# Pre-Load Configuration
DynaGrid can be pre-loaded with data from any data source that has been registered in External Datasources. For each row in the pre-load record set, DynaGrid will add a row to itself. DynaGrid will try to pre-load its HTML controls with the values from the record set, wherever the record set column name matches a column name in DynaGrid. The pre-load query can also be used to override formulas specified for a text control. See the Formula Override section for more information.
Data Source for Pre-loading Data
Select a registered data source from the dropdown list.
Query for Pre-loading Data
Provide a SQL or LDAP query for executing against the selected data source.
Message to show when there are no pre-load results
Enter a custom message to display when no results are obtained from the pre-load query.
# Display and Validation Options
Run in debug mode
If this option is checked, a text area and several links will appear in the DynaGrid’s View Mode. This text area will display relevant debugging output - e.g. XML formatted data, errors in parsing formulas.
Max # Rows
This specifies the maximum number of rows that can be added to the DynaGrid. DynaGrid can support a maximum of 999 rows. If this field is left blank, the default maximum number of rows (100) will be enforced.
Users can add rows
If selected, this option will reveal two buttons below the DynaGrid. These buttons will allow users to add a new row or remove the last row from the DynaGrid.
Users can re-order rows
If selected, users can arrange the rows in the DynaGrid and move them up or down.
Users can delete any row
If checked, a red X icon will appear at the end of each row. Users can click the icon to delete the row. If there is only one row in the grid, it cannot be deleted.
Columns are sortable
If checked, this enables users to sort results by clicking on the column labels.
Update Configured Cost Automatically
If checked, any cost as configured will be updated when the state of the DynaGrid changes
Validate inputs before submitting form
If this option is checked, each input field in the DynaGrid will be validated when its state has been changed. Validation error messages will appear above the DynaGrid in red text.
“Add Row” button label
Specifies the text to appear in the button for adding a new row
“Delete Row” button label
Specifies the text to appear in the button for removing the last row
Column separator for plain text output
Enter the separator for text output. Typical choices include commas, colons, semi-colons, and vertical bars.
Auto-Adjust Grid Width
These options allow the admin to specify the maximum horizontal width of the DynaGrid control.
None – The DynaGrid will expand horizontally without limit
Fit width of HTML Container – DynaGrid will scroll horizontally if its width exceeds that of its parent container
To no more than [nnn] pixels – DynaGrid will scroll horizontally if its width exceeds [nnn] pixels.
Show row numbers
If checked, the row number will appear to the left of each row
Use 100% of form width
If checked, the DynaGrid will use 100% of the horizontal space in the form, even making use of the left-hand space where Form Element labels normally appear
Show Form Element label above Form Element
If checked and “Use 100% of form width” is also checked, the Form Element label will appear above the DynaGrid on the left-hand side
Clone Last Column
If checked, the ability to duplicate the final column of the grid is enabled. When a column is cloned, the new column will retain all the configuration properties of the source column, including formulas, queries, links, and validation.
The label and XML name of the cloned column will be the same as the original column, unless the label or XML name end with an integer. In that case, the label or XML name will be auto-incremented. For example, if the original column is labeled “IP Address 1”, the first clone will be labeled “IP Address 2”, the second clone “IP Address 3”, etc.
# Grid Column Configuration
Input Type
Select the type of control that will be rendered in each column of the grid. Options include:
- Text (single-line) - This field type is used to capture brief single lines of alphanumeric text from the end user
Text (multi-line) - This field type allows larger amounts of text to be entered by the end user. Line spacing is supported.
Checkboxes – Allow users to select as many values as needed
Radio buttons - Allows users to select exactly one value
Select list – A list of choices where the user may selected many or one
Date – Allows the user to pick a date
File upload – Allows users to upload files
Text label – Un-editable field that displays text to the user
Add Control
This button will add a new column to the DynaGrid, after a selection of input type
# Columns
Column Name
Every column must have a unique name. This is the name that will be displayed on the form
XML Name
This is the name of the column as it will appear in the request XML. If left blank, it will default to the Column Name.
Required
Marking a column as required will cause its controls to be validated when the request form is submitted.
Read-Only
Marking a column as read-only will cause its controls to be non-editable
Hide Name
This will hide the column name on the form
Hide Col.
This will completely hide the column on the form. This option is only available for text labels.
Service Bundler
If “services” is selected, this control should be populated with values that are legitimate service IDs. Service IDs provided in this way will cause those services to be added to the cart upon form submission. If a comma-separated list of IDs is provided, then each service ID in the list will be added to the cart upon form submission. This option does not apply to Date or File Upload controls.
# Control-Specific Configuration Settings
Setting | Relevant Control(s) | Usage |
---|---|---|
Validation | Any Text Field | Select Email Address, Numeric, Integer, or ALL CAPS to require users to enter data that conforms to the selected validation rule. Select None if there are no validation rules. Select Custom to provide a custom Regular Expression for validating input. |
Custom Validation | Any Text Field | Provide a Regular Expression for validating user input |
Custom Validation Message | Any Text Field | Provide a custom message to display when the value entered fails validation |
Formula | Any Text Field | Using JavaScript syntax, provide a formula. The output will be used to populate this field. See the Formulas section below for details |
Width (px) | Any Text Field | |
Select List | Set the width of the control, by pixels | |
Height (px) | Text Box (Multi-Line) | Set the height of the text area, in pixels |
Max Chars | Any Text Field | The maximum number of characters that can be entered |
Column Operator | Any Text Field | If set to Sum, the sum of the values in the column will be displayed in a footer row. If set to Average, the average of the values in the column will be displayed in a footer row, rounded to the nearest hundredth. |
Price Mod | Any Text Field | If not set to None, the value of this cell will be added to either the Base Price or the Recurrent Price |
Data Source | Checkboxes, Radio Buttons, Select List, Any Text Field | Specifies an External Data Source to be used for populating the control values and display text. If no data source is selected, the control will be populated with static values |
Query/Values | Checkboxes, Radio Buttons, Select List, Any Text Field | If no data source is selected, you can enter a list of values for populating the control Values should be separated by new lines. If a data source is selected, this field specifies the SQL or LDAP query that will be used for populating control values and display text. For advanced usage options, see the Queries section below. |
Col Width (px) | Checkboxes | The width of the column containing the control, in pixels |
Panel Height (px) | Checkboxes | To accommodate long lists of checkboxes, if Panel Height is specified, the checkboxes will be contained in a scrolling panel of the specified height, in pixels |
Size (rows) | Select List | Specifies the number of rows to display at a time in a select list control |
Multi-select | Select List | If checked, the user can use Ctrl + click to select multiple items from the list |
Weekdays | Date | If checked, the user is limited to selecting weekdays on the calendar |
Min days in future | Date | If a value X is provided, the user must pick a date at least X days in the future |
Max days in future | Date | If a value X is provided, the user must pick a date at no more than X days in the future |
Max days in past | Date | If a value X is provided, the user must pick a date no more than X days in the past |
Link to Column | Checkboxes, Radio Buttons, Select List, Any Text Field | If one or more values are selected, the linked column value on the same row as the control will be passed to the linking control’s query. For more info, see the Queries section below |
Do not load if linked value is blank | Checkboxes, Radio Buttons, Select List, Any Text Field | If checked, the control will not load if the value from a linked column is blank |
Reset control if linked value is blank | Checkboxes, Radio Buttons, Select List, Any Text Field | If checked, the control will be reset if a value from a linked column is updated to a blank value |
Do not trigger load during pre-load | Checkboxes, Radio Buttons, Select List, Any Text Field | If checked, the control will not initially load values from a pre-load query |
Up Arrow | All Controls | Move the column forward in the column order |
Down Arrow | All Controls | Move the column back in the column order |
Delete Icon | All Controls | Delete the column |
Delete Icon | All Controls | Delete the column |
Require 1+ Row(s) Checked | Dynagrid Checkbox | Validates at least one row has been checked in the table/list |
# DynaGrid Configuration Examples
# Formulas
DynaGrid supports populating text fields using formulas in a way that is similar to Microsoft Excel. DynaGrid formulas are written using JavaScript syntax.
Simple Math – basic arithmetic expressions | |
---|---|
Formula | Output |
6*9 | 54 |
Advanced Math – using the JavaScript Math object | |
---|---|
Formula | Output |
Math.sqrt(36) 6 | 54 |
Column Substitution – You can use the values from other columns in a formula. Enclose a column number in double square brackets to use the value from the same row.
Formula |
[[3]]*1.05 |
([[1]] * [[2]]) + [[3]] |
Coordinate Substitution – You can use the values from a cell in any row or column in a formula. In your formula, if you enclose a coordinate set in square brackets, the value from the cell at the specified coordinate will be used. The notation is [[column,row]], e.g. [[3,2]] means the value of the cell from column 3, row 2. | |
---|---|
Formula | Output |
[[3,2]]*1.05 | The value from column 3, row 2, multiplied by 1.05. |
[[1,2]] + [[3]] | The sum of the value from column 1, row 2 and the value from column 3 on the same row as the cell containing the formula. |
# Formula Override
The formula for a given text control can be overridden by a pre-load query. This is an advanced feature intended for use by those with some SQL and JavaScript programming knowledge.
To use this feature, provide a column in the SQL record set with the name of the DynaGrid column + “__formula”. If the value in that field is not empty or NULL, the value will replace the formula in the corresponding DynaGrid column and row(s).
In the example below, the SQL query will preload the DynaGrid with four rows of data. In the fourth row, the formula for the Tax column will be replaced with the formula in the SQL query. The hypothetical situation is that a standard tax formula has been provided in the DynaGrid “Tax” column, but that the formula needs to be overridden for a special high-tariff item in the fourth record.
Example:
SELECT TOP 3 ProductID, ProductName, Cost, CostRecurrent, NULL as [Tax__formula]
FROM Products WHERE Category = ‘Export Services’
UNION ALL
SELECT TOP 1 ProductId, ProductName, Cost, CostRecurrent, ‘([[3]] * 1.2) + [[4]] * 1.2)’ as [Tax__formula]
FROM Products WHERE Category = ‘High-Tariff Services’
# Queries
The Query/Values field for any Text Field, Checkbox, Radio Button, or Select List control can be populated with either static data or data from a query against a data source. If static data is provided, the Data Source field should be left blank, and a list of static values, separated by new lines, should be provided.
When using a data source to populate controls, you have several advanced options in addition to using a basic SQL query. In all cases, the first field of the returned record set will be used for the value of the control, and the second field of the record set will be used for the control’s display, i.e. the value that will be visible to the user.
All example queries provided below are hypothetical. With all dynamically-populated form fields, caution must be exercised to prevent returning an overabundance of data to the control.
Basic SQL – A control may be populated with a basic SQL query. Example
SELECT CostCenterID, CostCenterName FROM CostCenters ORDER BY CostCenterName ASC
SQL with Single-Value Linked Parameters – A control may be populated with a parameterized SQL query. Question marks placed within the query will be replaced upon query execution with the value from controls to which the querying control is linked.
Linked columns are processed from left to right, such that the first linked column will provide the value for the first parameter, the second linked column will provide the value for the second parameter, and so on. Linked parameters do not require single-quotes to indicate a non-numeric data type.
In the first example below, a control that is populated with Cost Center data gets a query parameter value from a linked control containing the Division ID. Multiple single-value parameters can be passed to a query, as seen in the second example.
Example 1
SELECT CostCenterID, CostCenterName FROM CostCenters WHERE DivisionID = ? ORDER BY CostCenterName ASC
Example 2
SELECT CostCenterID, CostCenterName FROM CostCenters WHERE DivisionID = ? AND SectorID = ? ORDER BY CostCenterName ASC
SQL with Multi-Value Linked Parameters – If a column is linked to a group of checkboxes or to a multi-select list, multiple values can be passed in as query parameters. In that case, the question mark in the query must be contained in a SQL IN-clause, and the question mark must be enclosed in parentheses. In essence, the question mark will be replaced with a list of values.
Example 1
SELECT CostCenterID, CostCenterName FROM CostCenters WHERE DivisionID IN (?) ORDER BY</p>
<p>CostCenterName ASC
Example 2
SELECT CostCenterID, CostCenterName FROM CostCenters WHERE DivisionID IN (?) AND SectorID = ? ORDER BY CostCenterName ASC
SQL with Session Variables – DynaGrid Plus can access the user’s session variables and can use them in SQL queries. Most session variables contain one of the user’s Active Directory attributes. The following session parameters can be substituted in the SQL query by using the accompanying notation. All special notations begin and end with two underscore characters. Unlike Linked Parameters, session variable substitution still requires you to enclose non-numeric data in the query with single quotes. See the example below.
Notation Session | Value |
---|---|
USER_ID | User ID, often equivalent to userPrincipalName |
USER_SAMACCOUNTNAME | Active Directory sAMAccountName |
USER_EMAIL | Active Directory mail |
USER_DISPLAY_NAME | Active Directory displayName |
USER_FIRST_NAME | Active Directory givenName |
USER_LAST_NAME | Active Directory sn |
Example
SELECT CostCenterID, CostCenterName FROM UserCostCenters WHERE UserId =
‘__USER_SAMACCOUNTNAME__’
SQL with URL Parameters – DynaGrid Plus can access the web page’s URL parameters and can use them in SQL queries, using special notation. That notation is to prefix the name of the URL parameter with __URL__, which begins and ends with two underscore characters. For example, the notation__URL__product_id will be replaced with the value of the product_id URL parameter. Unlike Linked Parameters, URL parameter substitution still requires you to enclose non-numeric data in the query with single quotes. See the example below.
Example
sql SELECT CategoryID, CategoryName FROM Products WHERE ProductID = ‘__URL__product_id’
# Files
Allows the end-user to upload and attach a document to a Request. Multiple files can be uploaded using a single Files input field.
# Fixed Value
A fixed text value for a field that may not be changed by the end-user.
# Information
Read-only informational text to be displayed to the end-user as part of the Service Form.
# List Builder
Provides the ability to gather values from other Form Elements to build lists of data.
# Form Element Configuration
Show Config XML
Click this link to view an XML representation of the current configuration state of the List Builder. Click the Refresh Config XML button to rebuild the XML after any configuration changes have been made. The XML may also be copied here to import it to other List Builder instances.
Import Config XML
To import the configuration settings from another instance of List Builder, paste the configuration XML from the other List Builder into the text box and click Save Config XML.
# Register Triggering Form Elements
Fields from other Form Elements may be registered as triggers to be used as parameter values for queries.
Form Element SPE Mapping Name
Choose the Form Element that the desired trigger is contained in.
ID of triggering field on Form Element
Choose the specific Form Element control that has the desired value from the drop down list.
Register Form Element trigger field as…
This is a user-defined name for the trigger. Click Register Trigger to create the new trigger.
Note that triggers may be deleted by clicking the red ‘X’ next to them.
Trigger Configuration
This list of registered triggers allows marking the trigger as Required.
# Pre-Load Configuration
List Builder can be pre-loaded with data from any data source that has been registered in External Datasources or from data workflows. For each row in the pre-load record set, List Builder will add a row, matching on the record set column name with the XML Name defined in the List Builder.
Data Source for Pre-loading Data
Select a registered data source from the dropdown list.
Query for Pre-loading Data
Provide a SQL or LDAP query for executing against the selected data source.
Message to show when there are no pre-load results
Enter a custom message to display when no results are obtained from the pre-load query.
# Usage and Display Options
Run in debug mode
If this option is checked, a text area and several links will appear in the List Builder’s View Mode. This text area will display relevant debugging output - e.g. XML formatted data, errors in parsing formulas.
Use 100% of form width
If checked, the List Builder will use 100% of the horizontal space in the form, even taking the space of the Form Element label (if it is not displayed above the Form Element).
Allow user to reorder list items
If selected, the user will be able to reorder items once added to the list.
Allow user to clear list items
If selected, the user will be able to remove items from the list.
Label for “Add Item” button
This allows for modification of the default “Add Item to List” button.
Max List Items Allowed
This option sets the maximum number of rows that may be added to the list.
Enable Paging
If selected, an option is added to allow the user to page through the list. This is useful if a large number of values are expected for the list.
Render Mode
There are two different render mode options:
Rows (default) will make your lists grow vertically. As you add items to the list, they will be added as additional rows.
Columns will make your lists grow horizontally. As you add items to the list, they will be added as additional columns.
Prohibit duplicate list items
If selected, this option will prevent multiple instances of identical rows being added to the list.
Show question label above Form Element
Choosing this option displays the List Builder label above the Form Element, rather than to the left
Number list items
If selected, row number will be displayed next to each list row.
Separator character for list items
This allows you to control the separator used between list items when the list is passed into the workflow.
Enable horizontal list scrolling
This option enables scrolling if the list width exceeds the width of the form.
Override List Table Styles
Enter custom style code to alter the appearance of the list.
# Passthrough Mode Options
Target List
If a List Builder is intended to populate values in another List Builder, select the list it will populate
Hide List
This option will hide the list on the form. This is useful if the list is being used as the source for another List Builder
Hide “Add Item” button
This option hides the “Add Item” button on the List Builder.
# List Field Configuration Settings
Add Form Element to List
Select the Form Element to be added to the list
Form Element Field
If the Form Element to be added to the list is a Form Element, choose the specific control that will be added to the list.
Add Form Element to List
Click this to add a column to the list if the Form Element and Form Element Field (if necessary) have been defined.
# List Field Configuration Settings
Setting | Usage |
---|---|
Form Element Name | Default value is the name of the Form Element added to the list |
Form Element Field | Default value is the Form Element field of the list column, if the column is populated from a Form Element |
List Column Name | This sets the column name the user sees on the form |
XML Name | This sets the name of the column as it will appear in the request XML for the submitted workflow. |
Visible | Unchecking this value hides the column |
Required | If selected, all rows in the list must contain data for this field |
No dupes | If selected, duplicate data will not be allowed in this field |
Reset Input | If checked, the Form Element supplying the value for this field will be reset after the row is added to the list |
Discard on change | If selected for a column, the value for that column must be the same for all items in the list; otherwise, the list will be discarded if the user changes the value |
Enforce validation | If selected, and a regular expression is configured on the Form Element supplying the value for this field, the regular expression will be enforced |
Must use all source values | If selected, all values from the source Form Element must be used. This is limited to Form Elements with finite values such as Radio Sets or Select Lists. For example, if I have a select list with Red, Green, and Blue, at a minimum, I must add a row with Red, a row with Green and a row with Blue in order to submit the form. |
Width (px) | Sets the maximum width of the control, in pixels. |
Cost Mod | If the values in a control affect the price of the item, indicate whether it affects the one-time cost or recurring cost by selecting the corresponding value. |
Up Arrow | Move the column forward in the column order |
Down Arrow | Move the column back in the column order |
Delete Icon | Delete the column |
# Multi-Select List
Pre-defined drop-down list from which the end-user can make a multiple item selections.
# Pricing Rule
Allows for the configuration of tiered pricing modifiers.
# Radio Set
The Radio Set form control presents a radio set control of choices for the end user, allowing selection of only one value.
The form control has the following specific properties.
Source - an optional data source to define values for the control
Data/Query - either a comma separated list (with no extra spaces) of options for the control, or if a data source is selected, an optional query to execute
Show/Hide Values - a comma separated list (with no extra spaces) of optional values to use, when a data source has been provided, to allow specifying the show/hide rules with the "Show Hide" property below.
Preselected Value - the default value to be selected in the control
# Section Header
Creates sections within the Form to organize groups of related Form Elements or information.
# Select List
Pre-defined drop-down list from which the end-user can make a single selection. Configuration with a blank first line for the select box is supported.
# Service Selector
Allows for Services to be bundled in a variety of configurations based on end-user inputs on the Form. The bundles may be configured as optional or required for the end-user.
# Configuration Import/Export
Show Config XML
Click this link to view an XML representation of the current configuration state of the Service Selector. Click the Refresh Config XML button to rebuild the XML after any configuration changes have been made. The XML may also be copied here to import it to other Service Selector instances.
Import Config XML
To import the configuration settings from another instance of Service Selector, paste the configuration XML from the other Service Selector into the text box and click Save Config XML.
# Debugging
Run in debug mode
If this option is checked, a text area and several links will appear in the Service Selector view mode. This text area will display relevant debugging output - e.g. XML formatted data, errors in parsing formulas.
# Available Services
Add Selected Services(s)
Select one or more services and click the “Add Selected Service(s)” button to add the services as a single new line for the Service Selector. If needed, utilize the search box to query for existing services that are eligible to be added.
# Selected Services
Selected Product ID(s)
This displays all product IDs that have been added for a line in the Service Selector. Multiple items may be added to a line, meaning that all items will be requested if a user selects that line. For example, if services A, B, and C are added to a line, a user who requests that line will receive all three items.
Selection Display Name
This defines the name of the child service(s) that will be rendered on the form.
Render Service Selector as
Defines how the display the lines of available services that are added to the Service Selector. Options include:
Checkboxes
Single Select
Multi-Select
Text
Quantity Relation
This defines the quantity relationship between the parent item and any bundled items.
Relative – The quantity of bundled items is calculated relative to the parent item requested and the Quantity Choice
Fixed – the quantity of bundled items is static
Quantity Choice
Quantity Choice defines the number of child items that are requested. Options include:
User Choice – the user defines the quantity of any bundled service
Fixed – the quantity of bundled items cannot be changed by the user
Hidden – the display of quantity choice is hidden from the user
Quantity Value/Rule
This controls the quantity of a bundled item that is ordered. Options include:
Value = N, where N is the number of the item that will be requested
Range = N-M, where N is the lower bound, and M the upper bound of a range
Choice = N,M,O, where a comma separated list of valid values may be entered
Configuration
This controls the configuration of any bundled items. Options include:
Requires Configuration – users will be taken to the form of each child item.
Does Not Require Configuration - users will not be taken to the form of any bundled service(s). However, the child forms may be edited after being added to cart.
Cannot Be Configured, Without Workflow – forms for child items cannot be configured, and will be processed using the parent item workflow.
Cannot Be Configured, With Workflow – forms for child items cannot be configured, and will be processed via their default workflow.
# Shared Form
Allows a form to include a shared form.
# SLA
Service Level Agreement
# Tabbed Display
Provide the ability to create a tabbed interface on the Form in which other Form Elements can be added.
# Configuration Import/Export
Show Config XML
Click this link to view an XML representation of the current configuration state of the Tabbed Display. Click the Refresh Config XML button to rebuild the XML after any configuration changes have been made. The XML may also be copied here to import it to other Database Lookup instances.
Import Config XML
To import the configuration settings from another instance of Tabbed Display, paste the configuration XML from the other Database Lookup into the text box and click Save Config XML.
# Display Options
Run in debug mode
If this option is checked, a text area and several links will appear in the Tabbed Display view mode. This text area will display relevant debugging output - e.g. XML formatted data, errors in parsing formulas.
Use 100% of form width
If checked, the Tabbed Display will use 100% of the horizontal space in the form, even taking the space of the Form Element label (if it is not displayed above the Form Element)
Show Form Element label above Form Element
If checked, the label of the Tabbed Display will appear above it, rather than to the left.
Tab Style Definition
Enter custom style code to alter the appearance of the Tabbed Display.
Active Tab Background Color
Enter a color value to alter the background fill color of the tab that is currently open (i.e., #000000 or RGB(0,0,0) for black)
Active Tab Text Color
Enter a color value to alter the text color of the tab that is currently open (i.e., #000000 or RGB(0,0,0) for black)
Inactive Tab Background Color
Enter a color value to alter the background fill color of any tabs that are not open (i.e., #000000 or RGB(0,0,0) for black)
Inactive Tab Text Color
Enter a color value to alter the text color of any tabs that are not open (i.e., #000000 or RGB(0,0,0) for black)
# Tab Configuration Settings
Add a New Tab
To add an additional tab, click the “Add a New Tab” button.
Add Form Element
To add a Form Element, choose the Form Element and tab it will appear on, and click the “Add” button.
Tab-Specific Fields
Setting | Usage |
---|---|
Tab Label | Defines the name of the tab that will be displayed |
Tab Form Elements – Form Element Name | Displays the Form Element name is it will appear on the form |
Tab Form Elements – SPE Mapping Name | Displays the SPE mapping name of the Form Element on the tab |
Tab Form Elements – Jump To | Use this option to move a Form Element to a specific spot on a tab. For example, to move a Form Element from the bottom to the top of a tab, type the number ‘1’ in the box and hit enter. The Form Element will move to the top of the tab. |
Tab Form Elements – Up Arrow | Clicking on this moves the Form Element up on the tab |
Tab Form Elements – Down Arrow | Clicking on this moves the Form Element down on the tab |
Tab Form Elements – Red ‘X’ | Removes the Form Element from the Tabbed Display |
Move Tab - Up Arrow | Clicking on this moves the tab to the left |
Move Tab - Down Arrow | Clicking on this moves the tab to the right |
Move Tab - Red ‘X’ | Removes the tab and all associated Form Elements from the Tabbed Display |
# Text Area
Freeform text field to be entered by the end-user. Line spacing is supported. Text Area has the option to render as a Rich Text Editor. This allows end users to make text bold, change the text color, make bulleted lists etc. For Rich Text Editor mode, the control will allow users to paste images based on configuration. To allow image pasting, the system settings ENABLE_NEW_RTE and DISABLE_IE10_MODE should be True
# Text Field
Freeform text field for a single line of text to be entered by the end-user.
# Form Fields – Dynamic Values
Various PMG form field values may be set with dynamic values using a SQL query, a PMG Provider query, or through JavaScript.
Checkbox, Checkbox List, Fixed Value, Information, Multi-Select List, Radio Set, Select List, Text Area, and Text Field all support dynamic values by query. Additionally, certain controls support dynamic values based on their configuration through their respective Advanced Property settings. These controls are Database Lookup, DynaForm, DynaGrid, and List Builder.
# SQL for dynamic values
When using SQL for a single value field, such as instructional text, the SQL query should return a single value. Otherwise the first column from the first row will be used as the value.
When using SQL for a multi-value field, such as a select, list, the SQL should return either a single column or two columns. If a single column is returned, each row value will be used for the respective field’s value and display as applicable. If a two-column result is used, then the first column will be used for the field value, and the second column will be used for the display value of the respective field entry.
For example, in the case of the following query for a select list, “Select FullName from users”, the resulting “FullName” rows will be used as both the value and the display for each select list entry generated.
Or, if the query returns two columns, “Select ID,FullName from users”, then the first column, “ID” will be used for each select list entry “ID” value, and the “FullName” result will be used for the display of each select list entry. In certain cases, if more than two columns are returned, then the additional column values will be concatenated into the display value.
# JavaScript for dynamic values
Form field values may be determined by use of JavaScript. JavaScript objects returned as the result will be used as appropriate for the respective field types. When using JavaScript to set a single value property, the result should be an array with a single value, e.g.
return ['One'];
To use JavaScript to set values for multi value fields, the objects returned should be arrays with a single column of values, or as an array of two value arrays (A two dimensional JavaScript object). For example, the following JavaScript if used for a select list would produce a list with two entries, with each entry having the value and the display set for each of the rows.
return [
[1,'One'],
[2,'Two']
];
In order to set a Value, and a Display text for a select list, use JavaScript to return a two-dimensional array like below.
return [
[1,'One'],
[2,'Two']
];
With the above JavaScript, the select list would have the first column as the values for each entry and the second column as the respective display text for each entry.
The full syntax and features of JavaScript are available for use in the query to set the field. Additionally, the query can evaluate other field values, and session values to generate results.
In the following example, a text field would have its value set dynamically based on the selection made in “Question B” and based on the current value in “Question A”.
if ('<[Question B]>' == 'A') {
return < [Question A] > * 2;
} else {
return < [Question A] > * 4;
}
# setFormQuestionValue Function
PMG form fields may also be set via the use of the JavaScript function setFormQuestionValue. The most common use case of this function is where you would like to drive show/hide via a Select List form element, based off a value in an Active Directory Lookup or DynaForm field.
To use setFormQuestionValue, set the datasource to JavaScript Code, then leverage the function with the format below, where ‘TARGET’ is the SPE mapping name of the form element, and ‘Value’ is the value you are setting the question to.
setFormQuestionValue(“TARGET”,”Value”)
While the use of this function is only supported for setting Fixed Value, Information, Select List, Text Area, and Text Field form elements, it can be called from any form field that support dynamic values.
# PMG Provider
The PMG platform provides a powerful set of integration tools through its “Provider Framework”, see 2.10 Providers for more information. A common function of Providers is to offer an abstracted method to integrate with third party systems through their provided standard or proprietary APIs. Providers commonly offer a syntax, unique to each provider to allow for queries to be executed against the remote system. Typically, Providers will return data understanding the methods of intended use, and will generate singular values, or tabular values to meet the respective needs. Please refer to each Provider’s given documentation for information about possible use cases for Form Fields.
# Field Types Advanced Properties
Each of the field types within a Service Form has advanced properties that control the behavior of the control. Controls may have properties specific to their control type. For example, the Section Header control type has a property called Initially Open that sets the underlying section to open or closed depending on it value. Common properties include:
Required: Determines whether this is a required field the user must answer
Hidden: Determines whether the field is visible to the user or not
This is a backend Form Element: Allows the Form Element to be set as a backend Form Element to be presented to users within a work item, driven from workflow
Tooltip: This provides the tooltip based help text for the end user of the form for this field.
Copy Response To Backend: Allows the Form Element to be copied to a backend Form Element that may be modified within the Workflow
Validation Failure Message: A custom message to display if validation for the field fails
SPE Mapping Name: The name of the control as it is used in the Workflow
SPE Mapping Path: the XML path to the Form Element’s response
# Show/Hide Rules
The Platform supports dynamic visibility for Form Elements within a Service Form based on usage of the Form. Form Elements which are type of Select List or Radio Sets can control the visibility of other Form Elements within the Form.
Simple showing of one or more fields based on a given field’s values is straightforward. Even highly nested forms with moderately complex visibility rules can be simple to configure. When configuring forms, it may useful to consider form field visibility as an ever-expanding tree, where any given fields visibility only needs to be for the controlling field value.
That is, Form Element visibility need only be specified for direct visibility relations, and need only be set for the “show” relationship. Visibility “nesting” is handled automatically. Therefore, the administrator does not need to manage indirect Form Element visibility.
The display rules can be interpreted as, “If any given Form Element (Form Element X) could have its visibility controlled by another Form Element (Z) within the form, and Form Element X is not explicitly being shown by Z, then Form Element X will not be shown”.
Configuration for Parent values:
[blank]
No rules
“Choice A”
Show: Choice A
“Choice B”
Show: Choice B
Configuration for Choice A
“Show”
Show: Form Element A
Configuration for Choice B
“Show”
Show: Form Element B
In fact, this simplicity continues for additional levels of “nesting” of Form Elements, e.g. ABC-D…
This configuration is possible, as the form will hide Form Element A and Form Element B until either Choice A or Choice B respectively are shown and are set to “Show”. It is important to note that no rules for Hide were required in this mode. Hide rules will be followed, but are generally not required, and should not be set.
# Form Element Dependency
Form Elements within forms can derive their values based on values from other Form Elements in the Form. For a Form Element to use a value from another Form Element, the Data Source property must be used with a supporting SQL “select” statement. The syntax for referencing another Form Element’s value is: <[Form Element SPE Mapping Name]>
# Form Element Dependency - Example
Given that Form Element B, a select list, will derive its values from the current selection in Form Element A, and the SPE Mapping Name for Form Element A is “Form Element A”, then Form Element B will have the Data Source property set to any valid, desired Data Source. Data Load must be set to “Client” or “Client, No Filter”.
The Query can use the value in Form Element A as needed. The most simple example would be the Query, “Select '<[Form Element A]>'”. This query would simply set Form Element B to whatever value is currently set in Form Element A. The reference, <[Form Element A]>, may be used in any valid SQL statement. A common configuration would have Form Element B results limited to the value selected in Form Element A. The SQL statement would be similar to “Select COLUMN_A from TABLE where COLUMN_B like ‘%<[Form Element A]>%’”.
All Form Element Types which support the Data Source property can take advantage of the ability to incorporate values from other Form Elements within the form. For example, the Information type Form Element can display read-only information based on values currently selected within the form. Complete sentences can be generated from SQL statements by taking advantage of MS SQL’s ability to concatenate strings. For example, “**Select ‘This is a sentence, and ‘+ ‘< [Form Element A]>’
- ‘is currently selected in Form Element A.’**” will generate a sentence similar to “This is a sentence, and Some Value is currently selected in Form Element A.”
JavaScript may also be used as a “Query/data source” to control a field display and behavior by selecting the “Data Source” for the field to be “JavaScript Code”.
# Editing Services – Legacy Mode
Once created, an existing Service can be edited to modify any of its configured properties.
# Edit Mode
From the Service Request Form, an authorized user can click the Turn Edit Mode Off/On link in the upper right corner of the page to toggle the view between display and edit modes for the item.
Once the desired changes have been made in Edit Mode, the user can click Save at the bottom of the page. Services can be removed from the Platform by clicking the Delete button. In addition, the Export button can be used to download and/or save the XML code for the Service. Links for Save, Delete, or Export can also be found in the upper right portion of the page as well as at the bottom.
# Creating a Duplicate Service
Services may be duplicated by navigating to a desired source service and entering Edit Mode. From edit mode, select “Duplicate” at the bottom of the service edit page, and enter a new unique Service ID in the designated field. The newly duplicated Service will have all of the same characteristics as the original Service and may be edited without affecting the original Service.
# Bundled Services
Service bundling is a powerful tool that can be used to walk end-users through the process of generating multiple Requests related to a single business process or transaction. For example, in a new hire process, requests from multiple service areas and delivery teams can be created simultaneously to fully support the business requirements related to employee onboarding.
When an end-user adds a Service that has associated items to the Cart, a bundled order is created with the original Service being the control (or Parent) item. This Parent/Child relationship continues as the Requests move through their respective Workflows. After submitting the Parent item to the Cart, the end-user will be presented sequentially with each bundled Service to input responses into the associated Request Forms. When all of the related items have been submitted, the end-user will see the bundled Services in their Cart.
# Creating Bundled Services
Services may be bundled with several methods. One method is to relate services statically, by assigning relationships between Services using the Related Products field shown in a Service’s Edit Mode. See Section 0 - Form Properties for more information about the Related Products field.
Relationships between items can be optional or required, depending on the circumstances of the business process.
Optional bundling allows for additional items to be shown to the end-user for consideration when selecting a specific Service. Optional items are displayed as a pick list when viewing the details page of a specific Service. Optional items that the user cannot access are not displayed.
Required bundling is used to enforce the selection of other related items when a specific Service is requested. Items added through required bundling are treated as a group with the original Service as the control item for adding or removing the respective bundled items. Items added automatically through the required bundling feature cannot be removed individually from the Cart by the end-user, but they will be removed automatically if the control item is removed from the Cart.
If a user has access to a Service that requires other items to which the user does not have access, then an error message will be displayed. The user will see the error message when viewing the Service details page, and the user will not be allowed to add the item to the Cart.
The message displayed is: “This item cannot be added to the cart as the item requires additional items which cannot be added at this time. There is a catalog configuration error for this item. Please contact your System Administrator.”
Services may also be bundled together more dynamically, based on certain form fields and logic used to bundle services. Please see the section 6.3 for more information on form field types which support bundling of services.
# Enabling AutoFill
AutoFill is a powerful convenience feature for end-users requesting bundled Services or adding multiple similar or related items to a single basket or Cart. AutoFill works by analyzing new items as the end-user adds them to the Cart. The precedence for reuse is to scan for the last item within a bundle first where the same named Form Element has been answered.
The default system settings to enable AutoFill are:
QUESTIONS_REUSE_BEHAVIOR: Set to READONLY – Display reused Form Element values in subsequent Forms, in read-only mode
QUESTIONS_REUSE_MODE: FORCE – Do not prompt user for the option to reuse Form Elements
QUESTIONS_REUSE_SCOPE: BUNDLE – Limit scope of reuse to bundled Services only
When enabled and Form Elements of the same name have been previously answered by the end-user, the user will be presented with the option to reuse inputs from a prior entry. The user can choose Yes or No and can also instruct the Catalog to remember the selection for future Requests.
# Shared Forms
Shared Forms allow for multiple Services to use the same defined Form. After setting a unique Form ID and a display Title, the administrator can add Form Elements in the same way as they would be added for an individual Service. (For more information on Form design and the configuration of Form Elements, see Section 6.3 - Form Elements, which can be found in the section titled Form Configuration.) Once created, a Shared Form can be shared by multiple Services, which have the same requirements for user inputs and responses.
To access the Shared Forms page, the administrator can access ADMINISTRATION, Content Management, Shared Forms.
----
Shared forms are then attached to standard forms with the Form Field Type, “Shared Form”.
Shared forms may also be attached to work items during workflow execution with the human action property, “Shared Form”. Please see Human Activities for more information.
# SLA Management
A Service Level Agreement, commonly referred to as an SLA, represents the agreed upon delivery time of a Service. An SLA records a common understanding between a customer and a Service owner regarding the length of time needed to deliver a Service after it has been requested.
# Manage SLAs
Platform administrators can create SLAs and configure them to be used in association with specific Services. SLAs may be saved and reused for multiple Services as needed. A Service may have more than one SLA associated with it, and the SLA applied to a specific Request may be dependent on the delivery terms requested or certain other specific terms of the Request.
The Manage SLAs page displays a list of existing SLAs for editing, or the user may create a new SLA. SLAs can be managed from the SLA Designer screen, which can be accessed directly via the navigation menu or indirectly via the Edit Mode of a Service. To access the Manage SLAs page directly, the System Administrator may access ADMINISTRATION, Content Management, Manage SLAs.
Alternatively, the Manage SLAs page can be accessed from the Edit Mode view of a specific Service by clicking on the Manage SLAs link.
# Create/Delete SLA
To create a new SLA, click the Add SLA button. This will present the user with an interface to define the new SLA. The following fields are used to define the SLA:
Name: A brief name to refer to the SLA
Description: Freeform text field available to describe the SLA, which is displayed on the Service details page
Cost: One-time cost as a number for requesting an associated Service with this SLA
Cost Recurring: Recurring cost as a number for requesting an associated Service with this SLA
After providing the SLA properties, click Save, or Save and Close.
# Editing SLAs
To edit a given SLA, select the SLA name from the displayed list of SLA names, change any needed properties, and click “Save”.
# All Categories/Services
The All Categories and Services page contains a list of all Categories and Services organized by Category with its associated Services displayed below. The page is accessed by ADMINISTRATION, Content Management, All Categories/Services.
Each Category name links to its respective Category home page. Subcategory names are also displayed as links, with their respective Parent Category names shown preceding them. To download an XML file for each Category, the administrator can click the Export link to the right of the Category name.
The following information is displayed for each Category and Subcategory:
Description: Summary of the Category as configured in the Description field
Permission: Roles which have been granted access permission to the Category
Child Items: List of Services that are associated with the Category
Each Service name is represented as a link which opens the Service page in Edit Mode when clicked.
# Detailed Service Report
The Detailed Service Report page provides administrators with easy access to detailed information regarding the Services existing in the Catalog. It is accessed from ADMINISTRATION, Content Management >> Detailed Service Report.
On this list, administrators have access to the following information regarding individual Services:
Item ID
Item Name
Item Description
Categories
Optional Items
Required Items
SLA Options
Charge Type
Quantity Updateable
Pricing Format
Workflow
Last Modified
In addition, a checkbox is provided at the bottom of the page to enable display of the Service Form Elements within the table.
If the information is needed in another format, it can be downloaded as an Excel file or as XML. The administrator can check the corresponding box for any or all of the Services to select them for download. Clicking the Download as Excel button will export the selected Services to an Excel worksheet, and clicking the Download as XML button will export the code for the Service as an XML file.
# Catalog Resources
All files uploaded to the application during the creation of a Service are stored in a database. The Catalog Resources screen displays a list of all the files which have been uploaded and currently reside on the database. The Catalog Resources page can be accessed by following the rollover drop-down menu navigation path ADMINISTRATION, Content Management, Catalog Resources.
From this screen, administrators can manage Catalog Resource files. To view a resource, the user can click on its name to open it in a new browser window. The right-hand column of the table indicates whether the resource is currently in use or not and therefore available for deletion. To delete Catalog resources deemed unnecessary, administrators can click the Delete button related to the resource they wish to delete.
# Import and Export
The application provides the ability to import and export Services, Categories, SLAs, Pages, Content Blocks, Shared Forms, and Files. The Import and Export page can be accessed from ADMINISTRATION, Content Management, Import and Export
# Exporting
By clicking on the Export link on the Import and Export page, the Export screen will open allowing the System Administrator to export various items.
SLAs
To export an XML file of the SLAs, administrators can click on the SLAs link. When prompted to open or save the XML code, the file can be saved in a selected location.
# Categories
The export feature will export all Categories contained within the application, retaining their hierarchy within the Category menu. To export the Categories, administrators can click on the Categories link to open the All Categories and Services page. See Section 3.5 - All Categories/Services for more information on exporting Categories.
# Pages
The Export feature will export all pages and blocks defined within the application. To export the pages and blocks, click the “Export” link provided from the “All Pages and Blocks” screen.
# Content Blocks
One or more content blocks may be exported from the Export screen for Content Blocks.
# Services
Services can be exported as XML files. Bulk exports of Services are possible by clicking on the Services link to open the Detailed Service Report page. See Section 3.6 - Detailed Service Report for more information on exporting Services.
In addition, individual Services may be exported via the Edit Mode of the Service itself by clicking the Export link at the bottom of the page.
# Shared Forms
Shared Forms can be exported by clicking on the Shared Forms link to open a Detailed Service Report view displaying the Item ID and Item Name of the Shared Forms defined within the Catalog. From this screen, they can be downloaded as an Excel file or as XML. The administrator can check the corresponding box for any or all of the Shared Forms to select them for download. Clicking the Download as Excel button will export them to an Excel worksheet, and clicking the Download as XML button will export the code as an XML file.
# Importing
To import a file to the Catalog, the administrator can click on the Import link on the Importing/Exporting page.
# Bulk Service Update
The Bulk Service Update page allows the administrator to manage Service name as well as cost and price data for the Services from one screen. The Bulk Service Update screen lists the Services in the Catalog along with the defined Price Rules and related costs and prices for each one. The results can be filtered using the Filter box above the table. The Bulk Service Update page can be accessed from ADMINISTRATION, Content Management, Bulk Service Update.